草庐IT

iOS NSUserDefaults 检查 float 键是否存在

全部标签

ruby-on-rails - 是否有适用于 Ruby 或 Rails 的类似 iPython 的 shell?

我喜欢iPython,并且正在学习RoR以及一些库(如Mechanize),我希望能够轻松地了解我正在使用的内省(introspection)方法。我希望能够输入“。”+TAB并查看。 最佳答案 有一个irb工具可以帮助自动完成require'irb/completion' 关于ruby-on-rails-是否有适用于Ruby或Rails的类似iPython的shell?,我们在StackOverflow上找到一个类似的问题: https://stackove

ruby - 检查类上是否定义了方法

如何检查某个方法是否直接在某个类上定义,而不是通过继承或包含/扩展?我想要类似“foo?”的东西在以下内容中:classAdefa;endendmoduleBdefb;endendclassCfalseC.foo?(:b)#=>falseC.foo?(:c)#=>true 最佳答案 使用这个:C.instance_methods(false).include?(:a)C.instance_methods(false).include?(:b)C.instance_methods(false).include?(:c)instance

ruby - Objective-C 是否像 Ruby 一样支持 Mixin?

在Ruby中,有模块,您可以通过“混入”模块来扩展类。moduleMyModuledefprintoneprint"one"endendclassMyClassincludeMyModuleendtheOne=MyClass.newtheOne.printone>>one在Objective-C中,我发现我有一组常用的方法,我想要一些Class来“继承”。在不创建通用类并从该通用类派生所有内容的情况下,还有哪些其他方法可以实现这一目标? 最佳答案 不要脸的外挂:ObjectiveMixin它利用了Objective-C运行时在运行时

ruby-on-rails - Ruby,检查日期是否是周末?

我的Rails应用程序中有一个DailyQuote模型,它具有股票的日期和价格。数据库中的数据已为此模型捕获,包括周末。周末价格值已设置为0。我想将周六和周日的所有周末价格更改为周五的价格。在Ruby中执行此操作的最佳方法是什么?要确定日期是星期六还是星期日并将其值更改为该周末的星期五? 最佳答案 TFM展示了一种识别星期几的有趣方法:t=Time.nowt.saturday?#=>returnsabooleanvaluet.sunday?#=>returnsabooleanvalue

ruby - 是否可以为子模块赋予与顶级类相同的名称?

背景:rubythinksI'mreferencingatop-levelconstantevenwhenIspecifythefullnamespaceHowdoIrefertoasubmodule's"fullpath"inruby?这是问题,提炼成一个最小的例子:#bar.rbclassBarend#foo/bar.rbmoduleFoo::Barend#foo.rbclassFooincludeFoo::Barend#runner.rbrequire'bar'require'foo'➔rubyrunner.rb./foo.rb:2:warning:toplevelconstan

ruby-on-rails - 在 Ruby on Rails 中, '#encoding: utf-8' 和 'config.encoding = "utf-8"' 是否不同?

我可以通过在其顶部添加注释行来指定任何ruby​​文件使用特定编码:#encoding:utf-8但是在Rails的config/application.rb中,我发现了这个:config.encoding="utf-8"它们有什么不同吗?如果我设置了config.encoding="utf-8",我还需要#encoding:utf-8吗? 最佳答案 config/application.rb中的config.encoding="utf-8"部分与Rails应如何解释内容有关。ruby文件中的#encoding:utf-8告诉rub

ruby-on-rails - 如何在不重复 nil 检查的情况下避免嵌套哈希中缺少元素的 NoMethodError?

我正在寻找一种避免在深度嵌套的哈希中的每个级别检查nil的好方法。例如:name=params[:company][:owner][:name]ifparams[:company]&¶ms[:company][:owner]&¶ms[:company][:owner][:name]这需要三项检查,并且代码非常丑陋。有什么办法可以解决这个问题? 最佳答案 引入了Ruby2.3.0amethodcalleddig在Hash和Array上。name=params.dig(:company,:owner,:name)如果在任

ruby - 如何优雅地检查 RSpec 中记录的存在

有没有更好的方法来检查RSpec中是否存在记录?Foo.where(bar:1,baz:2).count.should==1 最佳答案 与Rspec2.13.0,我能够做到Foo.where(bar:1,baz:2).shouldexist编辑:Rspec现在有anexpectsyntax:expect(Foo.where(bar:1,bax:2)).toexist 关于ruby-如何优雅地检查RSpec中记录的存在,我们在StackOverflow上找到一个类似的问题:

如果整数,则 Ruby 将 float 舍入为 int

在ruby​​中,如果float是整数,我想将其转换为int。例如a=1.0b=2.5a.to_int_if_whole#=>1b.to_int_if_whole#=>2.5基本上,我试图避免在任何没有小数的数字上显示“.0”。我正在寻找一种优雅的(或内置的)方式来做defto_int_if_whole(float)(float%1==0)?float.to_i:floatend 最佳答案 一个简单的方法是:classFloatdefprettifyto_i==self?to_i:selfendend那是因为:irb>1.0==1=

ruby - 是否保证 Ruby 哈希文字的顺序?

Ruby,从v1.9开始,在遍历散列时支持确定性顺序;首先添加的条目将首先返回。这是否适用于文字,即{a:1,b:2}总是在b之前产生a?我用Ruby2.1(MRI)做了一个快速实验,它实际上是一致的,但是语言在多大程度上保证这适用于所有Ruby实现? 最佳答案 有几个位置可以指定,即一些被认为是“Ruby语言规范”的东西:theISORubyLanguageSpecificationtheRubySpecprojecttheYARVtestsuiteTheRubyProgrammingLanguagebookbymatzandDa